#ifndef ROSTERUNITPROTOTYPE_H
#define ROSTERUNITPROTOTYPE_H

#include <QObject>
#include <QScriptable>

class RosterUnitPrototype : public QObject, public QScriptable
{
    Q_OBJECT
    Q_PROPERTY(QString key READ getKey)
    Q_PROPERTY(QString name READ getName)
    Q_PROPERTY(float size READ getSize)
    Q_PROPERTY(uint maxSize READ getMaximumSize)
    Q_PROPERTY(float costPerModel READ getCostPerModel)
    Q_PROPERTY(float cost READ getCost)
public:
    explicit RosterUnitPrototype(QObject *parent = 0);

public slots:
    QString getKey() const;

    QString getName() const;

    uint getSize() const;

    uint getMaximumSize() const;

    float getCostPerModel() const;

    float getCost() const;

    bool isAllowedItem(const QString &key, bool checkCategory = true) const;

    //UnitItems_t getItemsInUnit() const;
    bool containsItem(const QString& itemKey) const;

    //UnitOptions_t getActivatedOptions() const;
    bool isOptionVisible(const QString& key) const;
    bool isOptionLocked(const QString& key) const;

    QString getCell(const QString& key) const;

    //QStringList getItemsWithAllowedInf() const;

    //ItemLimits_t getItemLimits() const;
};

#endif // ROSTERUNITPROTOTYPE_H
